package com.ruoyi.firefighter.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 消防员信息对象 firefighter_info
 *
 * @author ruoyi
 * @date 2024-09-27
 */
@Data
public class FirefighterInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 消防员唯一标识 */
    private Long id;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 性别 */
    @Excel(name = "性别")
    private String gender;

    /** 年龄 */
    @Excel(name = "年龄")
    private Long age;

    /** 学历 */
    @Excel(name = "学历")
    private String education;

    /** 民族 */
    @Excel(name = "民族")
    private String ethnicity;

    /** 籍贯 */
    @Excel(name = "籍贯")
    private String birthplace;

    /** 政治面貌 */
    @Excel(name = "政治面貌")
    private String politicalStatus;

    /** 团员时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "团员时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date partyMemberDate;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthDate;


    /** 证件号 */
    @Excel(name = "消防员证件号")
    private String idCardNumber;

    /** 所属单位 */
    @Excel(name = "所属单位")
    private String unit;

    /** 工作岗位 */
    @Excel(name = "工作岗位")
    private String position;

    /** 职务 */
    @Excel(name = "职务")
    private String jobTitle;

    /** 入职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date entryDate;

    /** 工作年限 */
    @Excel(name = "工作年限")
    private String workExperience;

    /** 消防救援衔 */
    @Excel(name = "消防救援衔")
    private String rescueRank;

    /** 专业技术职务 */
    @Excel(name = "专业技术职务")
    private String technicalPosition;

    /** 参加灭火战斗次数 */
    @Excel(name = "参加灭火战斗次数")
    private Long firefightingCount;

    /** 参加抢险救援次数 */
    @Excel(name = "参加抢险救援次数")
    private Long rescueCount;

    /** 身体状况 */
    @Excel(name = "身高")
    private String healthStatus;
    @Excel(name = "体重")
    private String weight;
    /** 联系电话 */
    @Excel(name = "联系电话")
    private String phoneNumber;

    /** 毕业院校 */
    @Excel(name = "毕业院校")
    private String graduationSchool;

    /** 惩罚 */
    @Excel(name = "处分")
    private String punishment;

    @Excel(name = "部职别")
    private String departmentTitle;

    @Excel(name = "人员类别")
    private String personnelCategory;

    @Excel(name = "证书名字")
    private String certificateName;

    @Excel(name = "用户图片")
    private String avatar;

    @Excel(name = "评估")
    private String assessment;

    @Excel(name = "专业")
    private String major;

    @Excel(name = "专业技术等级")
    private String technicalLevel;
    @Excel(name = "入伍地")
    private String placeEnlistment;
    /** 个人用户id */
    @Excel(name = "个人用户id")
    private Long userId;
    @Excel(name = "部门")
    private Long deptId;

    private Long userIdLogin;

    /** 以下是虚拟字段，为 名片查询条件使用 */
    //重大应急救援任务
    private String emergency;
    //重大应急救援任务时间
    private Date createTimeStart;

    //执行重大安保任务
    private String security;
    //重大应急救援任务时间
    private Date sCreateTimeStart;

    //重大灭火任务
    private String fireName;

    //重大演习演练
    private String drill;

    //培训经历
    private String train;
    //比武
    private String fight;
    // 培训经历2 传参用
    private String experienced;
    // 取得专业资质
    private String aptitude;
    @Excel(name = "荣誉称号")
    private String reward;

    public Date getCreateTimeStart() {
        return createTimeStart;
    }

    public void setCreateTimeStart(Date createTimeStart) {
        this.createTimeStart = createTimeStart;
    }

    public String getEmergency() {
        return emergency;
    }

    public void setEmergency(String emergency) {
        this.emergency = emergency;
    }

    public String getSecurity() {
        return security;
    }

    public void setSecurity(String security) {
        this.security = security;
    }

    public Date getsCreateTimeStart() {
        return sCreateTimeStart;
    }

    public void setsCreateTimeStart(Date sCreateTimeStart) {
        this.sCreateTimeStart = sCreateTimeStart;
    }

    public String getFireName() {
        return fireName;
    }

    public void setFireName(String fireName) {
        this.fireName = fireName;
    }

    public String getDrill() {
        return drill;
    }

    public void setDrill(String drill) {
        this.drill = drill;
    }

    public String getTrain() {
        return train;
    }

    public void setTrain(String train) {
        this.train = train;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public String getTechnicalLevel() {
        return technicalLevel;
    }

    public void setTechnicalLevel(String technicalLevel) {
        this.technicalLevel = technicalLevel;
    }

    public String getPlaceEnlistment() {
        return placeEnlistment;
    }

    public void setPlaceEnlistment(String placeEnlistment) {
        this.placeEnlistment = placeEnlistment;
    }

    public String getMajor() {
        return major;
    }

    public void setMajor(String major) {
        this.major = major;
    }

    public String getDepartmentTitle() {
        return departmentTitle;
    }

    public void setDepartmentTitle(String departmentTitle) {
        this.departmentTitle = departmentTitle;
    }

    public String getPersonnelCategory() {
        return personnelCategory;
    }

    public void setPersonnelCategory(String personnelCategory) {
        this.personnelCategory = personnelCategory;
    }

    public void setWorkExperience(String workExperience) {
        this.workExperience = workExperience;
    }

    public String getAssessment() {
        return assessment;
    }

    public void setAssessment(String assessment) {
        this.assessment = assessment;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getCertificateName() {
        return certificateName;
    }

    public void setCertificateName(String certificateName) {
        this.certificateName = certificateName;
    }

    public Date getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }

    public String getWorkExperience() {
        return workExperience;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setGender(String gender)
    {
        this.gender = gender;
    }

    public String getGender()
    {
        return gender;
    }
    public void setAge(Long age)
    {
        this.age = age;
    }

    public Long getAge()
    {
        return age;
    }
    public void setEducation(String education)
    {
        this.education = education;
    }

    public String getEducation()
    {
        return education;
    }
    public void setEthnicity(String ethnicity)
    {
        this.ethnicity = ethnicity;
    }

    public String getEthnicity()
    {
        return ethnicity;
    }
    public void setBirthplace(String birthplace)
    {
        this.birthplace = birthplace;
    }

    public String getBirthplace()
    {
        return birthplace;
    }
    public void setPoliticalStatus(String politicalStatus)
    {
        this.politicalStatus = politicalStatus;
    }

    public String getPoliticalStatus()
    {
        return politicalStatus;
    }
    public void setPartyMemberDate(Date partyMemberDate)
    {
        this.partyMemberDate = partyMemberDate;
    }

    public Date getPartyMemberDate()
    {
        return partyMemberDate;
    }
    public void setIdCardNumber(String idCardNumber)
    {
        this.idCardNumber = idCardNumber;
    }

    public String getIdCardNumber()
    {
        return idCardNumber;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setPosition(String position)
    {
        this.position = position;
    }

    public String getPosition()
    {
        return position;
    }
    public void setJobTitle(String jobTitle)
    {
        this.jobTitle = jobTitle;
    }

    public String getJobTitle()
    {
        return jobTitle;
    }
    public void setEntryDate(Date entryDate)
    {
        this.entryDate = entryDate;
    }

    public Date getEntryDate()
    {
        return entryDate;
    }

    public void setRescueRank(String rescueRank)
    {
        this.rescueRank = rescueRank;
    }

    public String getRescueRank()
    {
        return rescueRank;
    }
    public void setTechnicalPosition(String technicalPosition)
    {
        this.technicalPosition = technicalPosition;
    }

    public String getTechnicalPosition()
    {
        return technicalPosition;
    }
    public void setFirefightingCount(Long firefightingCount)
    {
        this.firefightingCount = firefightingCount;
    }

    public Long getFirefightingCount()
    {
        return firefightingCount;
    }
    public void setRescueCount(Long rescueCount)
    {
        this.rescueCount = rescueCount;
    }

    public Long getRescueCount()
    {
        return rescueCount;
    }
    public void setHealthStatus(String healthStatus)
    {
        this.healthStatus = healthStatus;
    }

    public String getHealthStatus()
    {
        return healthStatus;
    }
    public void setPhoneNumber(String phoneNumber)
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber()
    {
        return phoneNumber;
    }
    public void setGraduationSchool(String graduationSchool)
    {
        this.graduationSchool = graduationSchool;
    }

    public String getGraduationSchool()
    {
        return graduationSchool;
    }
    public void setPunishment(String punishment)
    {
        this.punishment = punishment;
    }

    public String getPunishment()
    {
        return punishment;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("gender", getGender())
            .append("age", getAge())
            .append("education", getEducation())
            .append("ethnicity", getEthnicity())
            .append("birthplace", getBirthplace())
            .append("politicalStatus", getPoliticalStatus())
            .append("partyMemberDate", getPartyMemberDate())
            .append("idCardNumber", getIdCardNumber())
            .append("unit", getUnit())
            .append("position", getPosition())
            .append("jobTitle", getJobTitle())
            .append("entryDate", getEntryDate())
            .append("workExperience", getWorkExperience())
            .append("rescueRank", getRescueRank())
            .append("technicalPosition", getTechnicalPosition())
            .append("firefightingCount", getFirefightingCount())
            .append("rescueCount", getRescueCount())
            .append("healthStatus", getHealthStatus())
            .append("phoneNumber", getPhoneNumber())
            .append("graduationSchool", getGraduationSchool())
            .append("punishment", getPunishment())
            .append("birthDate", getBirthDate())
            .append("createTimeStart", getCreateTimeStart())
            .toString();
    }


}
